package com.honghe.system.service;

import java.util.List;
import com.honghe.system.domain.CustomerContactRecord;
import com.honghe.system.domain.BankCustomerCases;

/**
 * 客户联系记录Service接口
 * 
 * @author honghe
 */
public interface ICustomerContactRecordService 
{
    /**
     * 查询客户联系记录
     * 
     * @param recordId 客户联系记录主键
     * @return 客户联系记录
     */
    public CustomerContactRecord selectCustomerContactRecordByRecordId(Long recordId);

    /**
     * 查询客户联系记录列表
     * 
     * @param customerContactRecord 客户联系记录
     * @return 客户联系记录集合
     */
    public List<CustomerContactRecord> selectCustomerContactRecordList(CustomerContactRecord customerContactRecord);

    /**
     * 根据客户ID查询联系记录列表
     * 
     * @param caseId 客户ID
     * @return 客户联系记录集合
     */
    public List<CustomerContactRecord> selectCustomerContactRecordByCaseId(String caseId);

    /**
     * 新增客户联系记录
     * 
     * @param customerContactRecord 客户联系记录
     * @return 结果
     */
    public int insertCustomerContactRecord(CustomerContactRecord customerContactRecord);

    /**
     * 修改客户联系记录
     * 
     * @param customerContactRecord 客户联系记录
     * @return 结果
     */
    public int updateCustomerContactRecord(CustomerContactRecord customerContactRecord);

    /**
     * 批量删除客户联系记录
     * 
     * @param recordIds 需要删除的客户联系记录主键集合
     * @return 结果
     */
    public int deleteCustomerContactRecordByRecordIds(Long[] recordIds);

    /**
     * 删除客户联系记录信息
     * 
     * @param recordId 客户联系记录主键
     * @return 结果
     */
    public int deleteCustomerContactRecordByRecordId(Long recordId);

    /**
     * 根据客户ID查询客户信息
     * 
     * @param caseId 客户ID
     * @return 客户信息
     */
    public BankCustomerCases selectCustomerByCaseId(String caseId);
    
    /**
     * 查询用户有权限查看的客户列表（负责人或经办人是当前用户）
     * 
     * @param username 用户名
     * @return 客户信息集合
     */
    public List<BankCustomerCases> selectCustomersByUsername(String username);
} 